#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n, a[100001], c[100001];

inline void mergesort(ll l, ll r) {
	if (l >= r)
		return;
	ll m = (l + r) / 2;
	mergesort(l, m);
	mergesort(m + 1, r); 
	ll p1 = l, p2 = m + 1, tot = 0;
	while (p1 <= m && p2 <= r)
		if (a[p1] <= a[p2])
			c[++tot] = a[p1++];
		else
			c[++tot] = a[p2++];
	while (p1 <= m)
		c[++tot] = a[p1++];
	while (p2 <= r)
		c[++tot] = a[p2++];
	for (ll i = 1; i <= tot; ++i)
		a[l + i - 1] = c[i];
}

int main() {
	scanf("%lld", &n);
	for (ll i = 1; i <= n; ++i)
		scanf("%lld", &a[i]);
	mergesort(1, n);
	for (ll i = 1; i <= n; ++i)
		printf("%lld ", a[i]);
	printf("\n");
	return 0;
}
